There is a continuously growing demand for improved throughput in wireless communication networks. Incremental redundancy, which is sometimes referred to as Hybrid ARQ (Automatic Repeat reQuest), is an advanced technique for improving the throughput performance of a wireless link, and particularly interesting for packet-oriented high-speed wireless communications.
In the basic incremental redundancy scheme, each data block is encoded with redundancy and punctured into a number of versions, often referred to as sub-blocks, of the encoded data block for transmission from the transmitting side to the receiving side, as schematically illustrated in FIG. 1. The sub-blocks can be produced all at once and stored for use as and when required by the ARQ scheme, or alternatively each particular version or sub-block is produced dynamically upon request. The sub-blocks are transmitted over the air interface. If the receiving side can not decode the data block correctly based on the first received sub-block a Negative Acknowledgement (NACK) is sent to the transmitting side. If possible, soft values of the first sub-block may be stored in memory at the receiving side. In response to the NACK, the next sub-block will be sent. The receiving side utilizes stored soft values of the first sub-block and combines them with the soft values of the presently received sub-block to increase the chances of successful decoding. This procedure continues until the data block is correctly decoded, or all sub-blocks have been transmitted. If the combination of all sub-blocks still can not be decoded, the sub-blocks will be transmitted from the beginning once again until the data block is successfully decoded. The sub-blocks are thus transmitted incrementally to gradually increase the rate of redundancy in the received signal information. When a data block is successfully decoded, the receiving side transmits a positive acknowledgement (ACK) to the transmitting side. The ACK/NACK feedback simply indicates whether or not the data block has been received and decoded correctly.
Normally, the receiving side must know the sequence numbers before combining separate sub-block transmissions. Each transmitted sub-block is therefore typically identified by a sequence number and preferably also a sub-block number, both of which are contained in a header that is normally coded separately from the data. If a header error should occur, then the corresponding sub-block will be lost.
In short, the incremental redundancy soft combining generally leads to a higher probability of correct decoding. However, at the same time the conventional incremental redundancy schemes put high requirements on the memory size on the receiving side, since the receiving side needs to store soft samples for each partially received data block. This means that the memory requirements may be huge. When the receiver, such as a mobile terminal, only has a finite amount of memory for this purpose, it may only store soft values corresponding to a few data blocks. This means that it is quite likely that the sub-blocks transmitted by the transmitter have no corresponding soft values in the receiver's memory, and thus can not be combined. Hence, the probability of correct decoding is lowered, and the throughput is reduced accordingly. In fact, this situation may take away all the advantages of using incremental redundancy. In addition, if the receiver memory is full, then the soft values corresponding to new data blocks can not be stored, which also leads to a reduction in throughput.
Hence, there is a need for an improved incremental redundancy scheme for wireless communications.